package member;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UpdateServlet extends HttpServlet {

	public void doPost(HttpServletRequest request,HttpServletResponse response)
			throws ServletException, IOException {

//　入力パラメータの文字エンコーディング
		request.setCharacterEncoding("UTF-8");

//　入力パラメータを取得
//　変更するレコードをidで指定
		String id = request.getParameter( "id" );

		String user_id = request.getParameter( "user_id" );
		String password = request.getParameter( "password" );
		String name = request.getParameter( "name" );
		String ruby = request.getParameter( "ruby" );

//　SQL文を記述
		String update_sql = "UPDATE members SET user_id = ?, password = ?, name = ?, ruby = ? WHERE id = " + id;

		Connection con = null;
		Statement smt = null;

		try{
//　データベースを接続するためのConnectionオブジェクトを取得
//　SQLを発行するためのStatementオブジェクトを取得
		con = common.DBManager.getConnection();
		smt = con.createStatement();

//　prepareStatement()メソッド　：　引数にSQL文を指定
		PreparedStatement ps = con.prepareStatement(update_sql);

//　SQL文のパラメータ変数(?)に値をセット
		ps.setString( 1, user_id );
		ps.setString( 2, password );
		ps.setString( 3, name );
		ps.setString( 4, ruby );

//　executeUpdate()メソッドでSQLの発行
//　※引数はないので注意
		ps.executeUpdate();

		}catch( SQLException e ){

			throw new ServletException( e );

		}finally{

			if( smt != null ){

				try{
					smt.close();
				}catch( SQLException ignore ){
					//　何もしない
				}
			}
			if( con != null ){

				try{
					con.close();
				}catch( SQLException ignore ){
					//　何もしない
				}
			}
		}

		request.setAttribute("msg", "変更しました");

	//　JSPに画面遷移、フォワード
	//　更新後の遷移先を変更		2013.10.16	若林
	//		request.getRequestDispatcher( "/member/userMemberSearch.jsp" ).forward(request, response);
			request.getRequestDispatcher( "/member/UserMemberSearchServlet" ).forward(request, response);
	}
}
